package org.tof.hotel.entity;

import org.tof.hotel.Generator;
import org.tof.hotel.RoomLevel;
import org.tof.hotel.csv.CSVGenerable;
import org.tof.hotel.csv.GenerableFromCSV;

import java.util.ArrayList;
import java.util.UUID;

/**
 * BaseForRoom class for room and application
 */
public class BaseForRoom implements Generator, CSVGenerable, GenerableFromCSV {
    public BaseForRoom(int beds, RoomLevel roomLevel) {
        setBeds(beds);
        setRoomLevel(roomLevel);
    }

    // -----fields----- //
    private final UUID id = UUID.randomUUID();
    private int beds;
    private RoomLevel roomLevel;

    // -----getters & setters----- //
    public UUID getId() {
        return id;
    }

    public int getBeds() {
        return beds;
    }

    public void setBeds(int beds) {
        this.beds = beds;
    }

    public RoomLevel getRoomLevel() {
        return roomLevel;
    }

    public void setRoomLevel(RoomLevel roomLevel) {
        this.roomLevel = roomLevel;
    }

    // ----- GeneratoR ----- //
    public void generate(int num) {}

    // ----- CSVGenerable-generator ----- //
    public String getFieldNames() {
        return "id,beds,roomLevel";
    }

    public ArrayList<String> getFields() {
        return null;
    }
    /**
     * should be overridden in inherited class(es)
     */
    public ArrayList<Class> createInstancesFromCsvFile(String filename) {
        return null;
    }
}